jQuery套件開發之(十六),寫套件我常用的小function
有兩個
其中一個是給兩個元素
然後會把第一個參數的元素,放到第二個參數的元素的中間。
這裡的中間是指位置座標。
function putCenter(eleIn$, eleOut$)
{
    var positionOut = eleOut$.position() ;
    var centerOut = 
    {
          x: ( positionOut.left + (eleOut$.outerWidth() / 2) ) >> 0
        , y: ( positionOut.top + (eleOut$.outerHeight() / 2) ) >> 0
    } ;
    var offsetIn = eleIn$.offset() ;
    eleIn$
        .css(
        {
              left: ( centerOut.x - (eleIn$.outerWidth() / 2) ) >> 0
            //, top: ( centerOut.y - (eleIn$.outerHeight() / 2) ) >> 0
        })
        .fadeIn() ;
}
附帶一提, >> 純粹只是懶惰的取整數的方式,其實這不太好。
另外一個function類似PHP sprintf
因為常常我已經寫好套件的版了。
只是要針對class、id 反正就去塞一些設定值。
String.prototype.format = function()
{
    var args = arguments ;
    return this.replace(/{(\d+)}/g, function(match, number)
    {
        return typeof (args[number] != 'undefined') ? args[number] : match ;
    }) ;
};
//實際的用法
var Dlogtpl = '<div class="{0}">'+
                    '<div class="{1}">'+
                        '<div class="{2}">'+
                            '<div class="{3}"></div>'+
                            '<div class="{4}"></div>'+
                        '</div>'+
                        '<div class="{5}"></div>'+
                        '<div class="{6}"></div>'+
                    '</div>'+
                '</div>' ;                            
//第二個例子
'<a href={0}>{1}</a>'.format(url, text)
今天就這樣吧
^__^